package com.entity;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.lang.reflect.InvocationTargetException;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.beanutils.BeanUtils;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.enums.IdType;


/**
 * 作业布置
 * 数据库通用操作实体类（普通增删改查）
 */
@TableName("zuoyebuzhi")
public class ZuoyebuzhiEntity<T> implements Serializable {
	private static final long serialVersionUID = 1L;


	public ZuoyebuzhiEntity() {
		
	}
	
	public ZuoyebuzhiEntity(T t) {
		try {
			BeanUtils.copyProperties(this, t);
		} catch (IllegalAccessException | InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * 主键id
	 */
	@TableId
	private Long id;
	/**
	 * 课程名称
	 */
					
	private String kechengmingcheng;
	
	/**
	 * 学期
	 */
					
	private String xueqi;
	
	/**
	 * 班级
	 */
					
	private String banji;
	
	/**
	 * 作业要求
	 */
					
	private String zuoyeyaoqiu;
	
	/**
	 * 发布日期
	 */
				
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
	@DateTimeFormat 		
	private Date faburiqi;
	
	/**
	 * 教师工号
	 */
					
	private String jiaoshigonghao;
	
	/**
	 * 教师姓名
	 */
					
	private String jiaoshixingming;
	
	/**
	 * 学号
	 */
					
	private String xuehao;
	
	/**
	 * 学生姓名
	 */
					
	private String xueshengxingming;
	
	
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat
	private Date addtime;

	/**
	 * 截止时间
	 */
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat
	private Date deadline;

	public ZuoyebuzhiEntity(Long id, String kechengmingcheng, String xueqi, String banji, String zuoyeyaoqiu, Date faburiqi, String jiaoshigonghao, String jiaoshixingming, String xuehao, String xueshengxingming, Date addtime, String ketimingcheng, String status) {
		this.id = id;
		this.kechengmingcheng = kechengmingcheng;
		this.xueqi = xueqi;
		this.banji = banji;
		this.zuoyeyaoqiu = zuoyeyaoqiu;
		this.faburiqi = faburiqi;
		this.jiaoshigonghao = jiaoshigonghao;
		this.jiaoshixingming = jiaoshixingming;
		this.xuehao = xuehao;
		this.xueshengxingming = xueshengxingming;
		this.addtime = addtime;
		this.ketimingcheng = ketimingcheng;
		this.status = status;
	}

	public Date getAddtime() {
		return addtime;
	}
	public void setAddtime(Date addtime) {
		this.addtime = addtime;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}
	/**
	 * 设置：课程名称
	 */
	public void setKechengmingcheng(String kechengmingcheng) {
		this.kechengmingcheng = kechengmingcheng;
	}
	/**
	 * 获取：课程名称
	 */
	public String getKechengmingcheng() {
		return kechengmingcheng;
	}
	/**
	 * 设置：学期
	 */
	public void setXueqi(String xueqi) {
		this.xueqi = xueqi;
	}
	/**
	 * 获取：学期
	 */
	public String getXueqi() {
		return xueqi;
	}
	/**
	 * 设置：班级
	 */
	public void setBanji(String banji) {
		this.banji = banji;
	}
	/**
	 * 获取：班级
	 */
	public String getBanji() {
		return banji;
	}
	/**
	 * 设置：作业要求
	 */
	public void setZuoyeyaoqiu(String zuoyeyaoqiu) {
		this.zuoyeyaoqiu = zuoyeyaoqiu;
	}
	/**
	 * 获取：作业要求
	 */
	public String getZuoyeyaoqiu() {
		return zuoyeyaoqiu;
	}
	/**
	 * 设置：发布日期
	 */
	public void setFaburiqi(Date faburiqi) {
		this.faburiqi = faburiqi;
	}
	/**
	 * 获取：发布日期
	 */
	public Date getFaburiqi() {
		return faburiqi;
	}
	/**
	 * 设置：教师工号
	 */
	public void setJiaoshigonghao(String jiaoshigonghao) {
		this.jiaoshigonghao = jiaoshigonghao;
	}
	/**
	 * 获取：教师工号
	 */
	public String getJiaoshigonghao() {
		return jiaoshigonghao;
	}
	/**
	 * 设置：教师姓名
	 */
	public void setJiaoshixingming(String jiaoshixingming) {
		this.jiaoshixingming = jiaoshixingming;
	}
	/**
	 * 获取：教师姓名
	 */
	public String getJiaoshixingming() {
		return jiaoshixingming;
	}
	/**
	 * 设置：学号
	 */
	public void setXuehao(String xuehao) {
		this.xuehao = xuehao;
	}
	/**
	 * 获取：学号
	 */
	public String getXuehao() {
		return xuehao;
	}
	/**
	 * 设置：学生姓名
	 */
	public void setXueshengxingming(String xueshengxingming) {
		this.xueshengxingming = xueshengxingming;
	}
	/**
	 * 获取：学生姓名
	 */
	public String getXueshengxingming() {
		return xueshengxingming;
	}



	/**
	 * 课题名称
	 */
	private String ketimingcheng;

	/**
	 * 设置：课题名称
	 */
	public void setKetimingcheng(String ketimingcheng) {
		this.ketimingcheng = ketimingcheng;
	}

	/**
	 * 获取：课题名称
	 */
	public String getKetimingcheng() {
		return ketimingcheng;
	}

	/**
	 * 发布状态
	 */
	private String status;

	/**
	 * 设置：发布状态
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 获取：发布状态
	 */
	public String getStatus() {
		return status;
	}

	public Date getDeadline() {
		return deadline;
	}

	public void setDeadline(Date deadline) {
		this.deadline = deadline;
	}

	public String toString() {
		return "ZuoyebuzhiEntity{serialVersionUID = " + serialVersionUID + ", id = " + id + ", kechengmingcheng = " + kechengmingcheng + ", xueqi = " + xueqi + ", banji = " + banji + ", zuoyeyaoqiu = " + zuoyeyaoqiu + ", faburiqi = " + faburiqi + ", jiaoshigonghao = " + jiaoshigonghao + ", jiaoshixingming = " + jiaoshixingming + ", xuehao = " + xuehao + ", xueshengxingming = " + xueshengxingming + ", addtime = " + addtime + ", ketimingcheng = " + ketimingcheng + ", status = " + status + ", deadline = " + deadline + "}";
	}
}
